<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>xilloader: xloader_auth_enc.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">xilloader
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;"
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('xloader__auth__enc_8c.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">xloader_auth_enc.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<div class="textblock"><p>This file contains authentication and encryption related code. </p>
<pre>
MODIFICATION HISTORY:</pre><pre>Ver   Who  Date     Changes
----- ---- -------- -------------------------------------------------------
1.00  bm   12/16/20 First release
      kal  12/23/20 Initialize Status to XST_FAILURE in XLoader_AesKatTest
      kpt  01/06/21 Added redundancy for the loop in XLoader_CheckNonZeroPpk
      kpt  01/12/21 Added check to validate keysrc for partitions when
                    DEC only efuse bits are set
      kpt  01/18/21 Added check to validate the index of for loop with lower
                    bounds of ppk offset in XLoader_CheckNonZeroPpk
      har  01/19/21 Added support for P521 KAT
      kpt  01/21/21 Added check to verify revoke id before enabling Auth Jtag
      har  02/01/21 Added check for metaheader encryption source
      bm   02/12/21 Updated logic to use BootHdr directly from PMC RAM
      kpt  02/16/21 Corrected check to return valid error code in case of
                    MetaHeader IV mismatch and fixed gcc warning
      har  03/02/21 Added support to verify IHT as AAD for first secure header
      har  03/17/21 Cleaned up code to use the secure state of boot
      ma   03/24/21 Redirect XilPdi prints to XilLoader
      ma   03/24/21 Minor updates to prints in XilLoader
      bm   04/10/21 Updated scheduler function calls
      kpt  04/14/21 Added check to verify whether the encrypted data is 128 bit
                    aligned
      bm   05/10/21 Updated chunking logic for hashes
      bm   05/13/21 Updated code to use common crypto instances from xilsecure
      ma   05/18/21 Minor code cleanup
      har  05/19/21 Support decryption of partition even if Secure state of
                    boot is A-HWRoT or Emulated A-HWRoT
      ma   05/21/21 Read KAT Status from RTCA Secure Boot State location
1.01  kpt  06/23/21 Added check to compare DNA before enabling Auth Jtag
           07/01/21 Added support to disable Jtag as per the timeout
                    set by user
      td   07/08/21 Fix doxygen warnings
      ma   07/12/21 Register NULL error handler for
                    XLoader_CheckAuthJtagIntStatus scheduler task
      har  07/15/21 Fixed doxygen warnings
      td   07/15/21 Fixed doxygen warnings
      bsv  08/17/21 Code clean up
      rb   08/11/21 Fix compilation warnings
      bm   08/24/2021 Added Extract Metaheader support
      bsv  08/31/21 Code clean up
      kpt  09/02/21 Added support to update KAT status in RTC area
      am   09/09/21 Fixed multiple SPK Authentication while authenticating
                    MetaHeader
      kpt  09/09/21 Fixed SW-BP-BLIND-WRITE in XLoader_AuthEncClear
      kpt  09/15/21 Modified check for PUF HD in XLoader_SecureEncOnlyValidations
      kpt  09/18/21 Fixed SW-BP-REDUNDANCY
                    Added check in XLoader_CheckAuthJtagIntStatus to avoid access
                    to auth jtag if there is a failure in single attempt
                    Renamed BHSignature variable to IHTSignature
      bsv  10/01/21 Addressed code review comments
1.02  kpt  10/01/21 Removed redundant code in XLoader_VerifyRevokeId
      kpt  10/07/21 Decoupled checksum functionality from secure code
      kpt  10/20/21 Modified temporal checks to use temporal variables from
                    data section
      kpt  10/28/21 Fixed PMCDMA1 hang issue in sbi checksum copy to memory
                    mode
1.03  skd  11/18/21 Added time stamps in XLoader_ProcessAuthEncPrtn
      bsv  12/04/21 Address security review comment
      kpt  12/13/21 Replaced standard library utility functions with xilinx
                    maintained functions
      skd  01/11/22 Moved comments to its proper place
      skd  01/12/22 Updated goto labels for better readability
      bsv  02/09/22 Code clean up to reduce stack size
      bsv  02/09/22 Code clean up
      bsv  02/10/22 Code clean up by removing unwanted initializations
      bsv  02/11/22 Code optimization to reduce text size
      bsv  02/13/22 Reduce stack usage of functions
      har  02/17/22 Updated code to limit number of attempts to enable JTAG
                    when efuse bits are set
1.04  skg  06/20/22 Fixed MISRA C Rule 10.3 violation
      bm   07/06/22 Refactor versal and versal_net code
      kpt  07/07/22 Added support to update KAT status
      bsv  07/08/22 Changes related to Optional data in Image header table
      kpt  07/24/22 Added support to go into secure lockdown when KAT fails
      kpt  08/03/22 Added volatile keyword to avoid compiler optimization
                    of loop redundancy checks
1.05  har  10/11/22 Used temporal check macro for redundancy checks for Xil_SMemCpy
      sk   10/19/22 Fix security review comments
      har  11/17/22 Made XLoader_CheckNonZeroPpk as non-static and moved here from <a class="el" href="xloader__secure_8c.html" title="This file contains all common security operations including sha related code. ">xloader_secure.c</a> file
      ng   11/23/22 Updated doxygen comments
1.8   skg  12/07/22 Added Additional PPKs support
      kal  01/05/23 Moved XLoader_GetAuthPubAlgo function to header file
      sk   02/08/23 Renamed XLoader_UpdateKatStatus to XLoader_ClearKatOnPPDI
      sk   02/09/23 Fixed Sec Review comments in XLoader_RsaSignVerify function
1.9   kpt  02/21/23 Fixed bug in XLoader_AuthEncClear
      sk   02/28/23 Removed using of pointer to string literal in XLoader_AuthKat
      sk   03/10/23 Added redundancy for AES Key selection
      sk   03/17/23 Renamed Kekstatus to DecKeySrc in xilpdi structure
      dc   03/30/23 Updated ECDSA authentication logic to support both BE/LE
      ng   03/30/23 Updated algorithm and return values in doxygen comments
      sk   05/18/2023 Deprecate copy to memory feature
      kal  06/18/23 Send device to SLD when 2nd AuthJTag message authentication
                    fails, when AUTH_JTAG_LOCK_DIS eFuse is programmed
      am   06/19/23 Added KAT error code for failure cases
      sk   07/06/23 Added Jtag DAP config support for Non-Secure Debug
      am   07/03/23 Added authentication optimization support
      ng   07/13/23 Added support for system device tree flow
      yog  08/18/23 Added a check to return error when metaheader secure state
                    does not match with plm secure state
      kpt  08/20/23 Updated check to place ECDSA in reset and clear RAM memory when
                PLM_ECDSA_EXCLUDE is not defined
      yog  08/25/23 Removed check to return error code when MH secure state doesn't
                match with plm secure
      dd   09/11/23 MISRA-C violation Rule 10.3 fixed
2.0   kpt  07/31/23 Run KAT every time when AUTH JTAG request is made
      kpt  10/09/23 Fixed compilation warning when PLM_EN_ADD_PPKS macro is enabled
2.1   sk   10/24/23 Added Redundancy in XLoader_EnableJtag
      sk   11/02/23 Updated Redundancy in XLoader_EnableJtag
      kpt  11/22/23 Add support to clear AES keys when RedKeyClear bit is set
      ng   12/27/23 Reduced log level for less frequent prints
      ng   01/28/24 u8 variables optimization
      kpt  02/08/24 Added support to extend secure state to SWPCR during AuthJtag
      yog  02/23/24 Added support to return error when P-521 curve is disabled.
      am   03/02/24 Added MH Optimization support
      kpt  03/15/24 Updated RSA KAT to use 2048-bit key
      sk   03/13/24 Fixed doxygen comments format
      har  04/12/24 Moved glitch checks after respective function calls
      kal  06/04/24 Added XLoader_SecureConfigMeasurement call in
                    XLoader_ProcessAuthEncPrtn after Block 0 processing is success
      mb   06/30/24 Fixed AES Decryption issue when KAT is enabled
      kal  07/24/24 Code refactoring and updates for Versal 2VE and 2VM Devices
      kal  09/18/24 Updated XLoader_PpkVerify to verify 384 bit ppk hash
                    for Versal 2VE and 2VM Devices
      pre  12/09/24 use PMC RAM for Metaheader instead of PPU1 RAM
      kal  01/30/25 Send LMS and HSS data to signature verification
                    without pre-hasing
2.2   sk   02/04/25 Reset Status before each function call in
                    XLoader_AuthHdrsWithHashBlock
      sk   02/04/25 Reset HashStatus before function call in
                    XLoader_IsPpkValid
      sk   02/26/25 Reset Status variable before use in XLoader_SecureEncInit
      pre  03/02/25 Remove data context setting
      obs  03/22/25 Added redundant security checks to mitigate glitch attacks
      har  04/07/25 Updated instruction mask in XLoader_EnableJtag</pre><pre></pre><dl class="section note"><dt>Note</dt><dd></dd></dl>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gab5e43af745222cb78f6a71853c891183"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#gab5e43af745222cb78f6a71853c891183">XLOADER_RSA_PSS_MSB_PADDING_MASK</a>&#160;&#160;&#160;(u8)(0x80U)</td></tr>
<tr class="memdesc:gab5e43af745222cb78f6a71853c891183"><td class="mdescLeft">&#160;</td><td class="mdescRight">RSA PSS MSB padding mask.  <a href="group__xloader__server__apis.html#gab5e43af745222cb78f6a71853c891183">More...</a><br/></td></tr>
<tr class="separator:gab5e43af745222cb78f6a71853c891183"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga98ac029ac7965b392e6bb0097876fd94"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga98ac029ac7965b392e6bb0097876fd94">XLOADER_RSA_EM_MSB_INDEX</a>&#160;&#160;&#160;(0x0U)</td></tr>
<tr class="memdesc:ga98ac029ac7965b392e6bb0097876fd94"><td class="mdescLeft">&#160;</td><td class="mdescRight">RSA EM MSB Index.  <a href="group__xloader__server__apis.html#ga98ac029ac7965b392e6bb0097876fd94">More...</a><br/></td></tr>
<tr class="separator:ga98ac029ac7965b392e6bb0097876fd94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaad372ad8e543134647457ddfd18128ab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#gaad372ad8e543134647457ddfd18128ab">XLOADER_PUF_SHUT_GLB_VAR_FLTR_EN_SHIFT</a>&#160;&#160;&#160;(31U)</td></tr>
<tr class="memdesc:gaad372ad8e543134647457ddfd18128ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shift for Global Variation Filter in PUF shutter value.  <a href="group__xloader__server__apis.html#gaad372ad8e543134647457ddfd18128ab">More...</a><br/></td></tr>
<tr class="separator:gaad372ad8e543134647457ddfd18128ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga37451d47afb1549cfd45ae1c5947d579"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga37451d47afb1549cfd45ae1c5947d579">XLOADER_AES_RESET_VAL</a>&#160;&#160;&#160;(0x1U)</td></tr>
<tr class="memdesc:ga37451d47afb1549cfd45ae1c5947d579"><td class="mdescLeft">&#160;</td><td class="mdescRight">AES Reset value.  <a href="group__xloader__server__apis.html#ga37451d47afb1549cfd45ae1c5947d579">More...</a><br/></td></tr>
<tr class="separator:ga37451d47afb1549cfd45ae1c5947d579"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga05d874ef5d60f3bba3fe7e580e2335b4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga05d874ef5d60f3bba3fe7e580e2335b4">XLOADER_AES_RESET_REG</a>&#160;&#160;&#160;(0xF11E0010U)</td></tr>
<tr class="memdesc:ga05d874ef5d60f3bba3fe7e580e2335b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">AES Reset register address.  <a href="group__xloader__server__apis.html#ga05d874ef5d60f3bba3fe7e580e2335b4">More...</a><br/></td></tr>
<tr class="separator:ga05d874ef5d60f3bba3fe7e580e2335b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8c9cd6721e418777842ed226fedcb2c8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga8c9cd6721e418777842ed226fedcb2c8">XLOADER_ECDSA_RSA_RESET_REG</a>&#160;&#160;&#160;(0xF1200040U)</td></tr>
<tr class="memdesc:ga8c9cd6721e418777842ed226fedcb2c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECDSA RSA Reset register address.  <a href="group__xloader__server__apis.html#ga8c9cd6721e418777842ed226fedcb2c8">More...</a><br/></td></tr>
<tr class="separator:ga8c9cd6721e418777842ed226fedcb2c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8095884006d0bdec587bc2e15157bf33"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga8095884006d0bdec587bc2e15157bf33">XLOADER_ECDSA_RSA_RESET_VAL</a>&#160;&#160;&#160;(0x1U)</td></tr>
<tr class="memdesc:ga8095884006d0bdec587bc2e15157bf33"><td class="mdescLeft">&#160;</td><td class="mdescRight">ECDSA RSA Reset value.  <a href="group__xloader__server__apis.html#ga8095884006d0bdec587bc2e15157bf33">More...</a><br/></td></tr>
<tr class="separator:ga8095884006d0bdec587bc2e15157bf33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga670aed828759635178d1bac15da2fd91"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga670aed828759635178d1bac15da2fd91">XLOADER_GET_PRTN_HASH_INDEX</a>(PdiPtr)</td></tr>
<tr class="memdesc:ga670aed828759635178d1bac15da2fd91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get partition hash index depending on full/partial PDI.  <a href="group__xloader__server__apis.html#ga670aed828759635178d1bac15da2fd91">More...</a><br/></td></tr>
<tr class="separator:ga670aed828759635178d1bac15da2fd91"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga5aef75ed3205f50c75189b7c46099856"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga5aef75ed3205f50c75189b7c46099856">XLoader_SecureAuthInit</a> (XLoader_SecureParams *SecurePtr, const XilPdi_PrtnHdr *PrtnHdr)</td></tr>
<tr class="memdesc:ga5aef75ed3205f50c75189b7c46099856"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function initializes authentication parameters of XLoader_SecureParams's instance.  <a href="group__xloader__server__apis.html#ga5aef75ed3205f50c75189b7c46099856">More...</a><br/></td></tr>
<tr class="separator:ga5aef75ed3205f50c75189b7c46099856"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9df696fd17dec50576f817a1cd1f7105"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga9df696fd17dec50576f817a1cd1f7105">XLoader_SecureEncInit</a> (XLoader_SecureParams *SecurePtr, const XilPdi_PrtnHdr *PrtnHdr)</td></tr>
<tr class="memdesc:ga9df696fd17dec50576f817a1cd1f7105"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function initializes encryption parameters of XLoader_SecureParams's instance.  <a href="group__xloader__server__apis.html#ga9df696fd17dec50576f817a1cd1f7105">More...</a><br/></td></tr>
<tr class="separator:ga9df696fd17dec50576f817a1cd1f7105"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7d852b900fa863fa8719bba0e2699423"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga7d852b900fa863fa8719bba0e2699423">XLoader_SecureValidations</a> (const XLoader_SecureParams *SecurePtr)</td></tr>
<tr class="memdesc:ga7d852b900fa863fa8719bba0e2699423"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function checks if authentication/encryption is compulsory.  <a href="group__xloader__server__apis.html#ga7d852b900fa863fa8719bba0e2699423">More...</a><br/></td></tr>
<tr class="separator:ga7d852b900fa863fa8719bba0e2699423"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac4b3b88f124856db12efa0ce4d6c81d0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#gac4b3b88f124856db12efa0ce4d6c81d0">XLoader_ReadAndVerifySecureHdrs</a> (XLoader_SecureParams *SecurePtr, XilPdi_MetaHdr *MetaHdr)</td></tr>
<tr class="memdesc:gac4b3b88f124856db12efa0ce4d6c81d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function authenticates and/or decrypts the image headers and partition headers and copies the contents to the corresponding structures.  <a href="group__xloader__server__apis.html#gac4b3b88f124856db12efa0ce4d6c81d0">More...</a><br/></td></tr>
<tr class="separator:gac4b3b88f124856db12efa0ce4d6c81d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6be961c2f80c31d661adab83f62ba790"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga6be961c2f80c31d661adab83f62ba790">XLoader_IsPpkValid</a> (<a class="el" href="xloader__auth__enc_8h.html#a85aba33b166080b4874c0f5657589b3e">XLoader_PpkSel</a> PpkSelect, const u8 *PpkHash)</td></tr>
<tr class="memdesc:ga6be961c2f80c31d661adab83f62ba790"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function reads PPK invalid bits.  <a href="group__xloader__server__apis.html#ga6be961c2f80c31d661adab83f62ba790">More...</a><br/></td></tr>
<tr class="separator:ga6be961c2f80c31d661adab83f62ba790"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga314c67dbef884040c630923f3b48416a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga314c67dbef884040c630923f3b48416a">XLoader_RsaPssSignVerify</a> (u8 *MsgHash, XSecure_Rsa *RsaInstPtr, u8 *Signature, u32 KeySize)</td></tr>
<tr class="memdesc:ga314c67dbef884040c630923f3b48416a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function encrypts the RSA signature provided and performs required PSS operations to extract salt and calculates M prime hash and compares with hash obtained from EM.  <a href="group__xloader__server__apis.html#ga314c67dbef884040c630923f3b48416a">More...</a><br/></td></tr>
<tr class="separator:ga314c67dbef884040c630923f3b48416a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga434f49bc94a9078a86451ac5bde637cc"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga434f49bc94a9078a86451ac5bde637cc">XLoader_AddAuthJtagToScheduler</a> (void)</td></tr>
<tr class="memdesc:ga434f49bc94a9078a86451ac5bde637cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function adds periodic checks of the status of Auth JTAG interrupt status to the scheduler.  <a href="group__xloader__server__apis.html#ga434f49bc94a9078a86451ac5bde637cc">More...</a><br/></td></tr>
<tr class="separator:ga434f49bc94a9078a86451ac5bde637cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5ab0ef6b838c9f3d87f5f6566065938a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga5ab0ef6b838c9f3d87f5f6566065938a">XLoader_CheckAuthJtagIntStatus</a> (void *Arg)</td></tr>
<tr class="memdesc:ga5ab0ef6b838c9f3d87f5f6566065938a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function checks the status of Auth JTAG interrupt status and it disables the Jtag as per the timeout set by user.  <a href="group__xloader__server__apis.html#ga5ab0ef6b838c9f3d87f5f6566065938a">More...</a><br/></td></tr>
<tr class="separator:ga5ab0ef6b838c9f3d87f5f6566065938a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga203aa0ade1430a8a53e7974c0e4eba3c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga203aa0ade1430a8a53e7974c0e4eba3c">XLoader_EnableJtag</a> (volatile u32 CfgState)</td></tr>
<tr class="memdesc:ga203aa0ade1430a8a53e7974c0e4eba3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function enables the Jtag.  <a href="group__xloader__server__apis.html#ga203aa0ade1430a8a53e7974c0e4eba3c">More...</a><br/></td></tr>
<tr class="separator:ga203aa0ade1430a8a53e7974c0e4eba3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga53c758fcaf8c676a9d7fa9de03e6b535"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga53c758fcaf8c676a9d7fa9de03e6b535">XLoader_DisableJtag</a> (void)</td></tr>
<tr class="memdesc:ga53c758fcaf8c676a9d7fa9de03e6b535"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function disables the Jtag.  <a href="group__xloader__server__apis.html#ga53c758fcaf8c676a9d7fa9de03e6b535">More...</a><br/></td></tr>
<tr class="separator:ga53c758fcaf8c676a9d7fa9de03e6b535"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga22f293db863b881993077e17fc892007"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga22f293db863b881993077e17fc892007">XLoader_AuthEncClear</a> (void)</td></tr>
<tr class="memdesc:ga22f293db863b881993077e17fc892007"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is called to clear secure critical data related to authentication and encryption in case of exceptions.  <a href="group__xloader__server__apis.html#ga22f293db863b881993077e17fc892007">More...</a><br/></td></tr>
<tr class="separator:ga22f293db863b881993077e17fc892007"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga43a415ea9b49abb198cae9ba6f9eb0b5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga43a415ea9b49abb198cae9ba6f9eb0b5">XLoader_ClearKatOnPPDI</a> (XilPdi *PdiPtr, u32 PlmKatMask)</td></tr>
<tr class="memdesc:ga43a415ea9b49abb198cae9ba6f9eb0b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function updates the KAT status.  <a href="group__xloader__server__apis.html#ga43a415ea9b49abb198cae9ba6f9eb0b5">More...</a><br/></td></tr>
<tr class="separator:ga43a415ea9b49abb198cae9ba6f9eb0b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga399279fd63d1bed34a886c24c414ee48"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga399279fd63d1bed34a886c24c414ee48">XLoader_ClearAesKey</a> (u32 *DecKeySrc)</td></tr>
<tr class="memdesc:ga399279fd63d1bed34a886c24c414ee48"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function clears the AES keys when RedKeyClear is set in PMC RAM.  <a href="group__xloader__server__apis.html#ga399279fd63d1bed34a886c24c414ee48">More...</a><br/></td></tr>
<tr class="separator:ga399279fd63d1bed34a886c24c414ee48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa912487046c04b1c90ca418a19ac3e0d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#gaa912487046c04b1c90ca418a19ac3e0d">XLoader_ProcessAuthEncPrtn</a> (XLoader_SecureParams *SecurePtr, u64 DestAddr, u32 BlockSize, u8 Last)</td></tr>
<tr class="memdesc:gaa912487046c04b1c90ca418a19ac3e0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs authentication and decryption of the partition.  <a href="group__xloader__server__apis.html#gaa912487046c04b1c90ca418a19ac3e0d">More...</a><br/></td></tr>
<tr class="separator:gaa912487046c04b1c90ca418a19ac3e0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacb572c209348e5ec41f2e15c92de9c36"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#gacb572c209348e5ec41f2e15c92de9c36">XLoader_CheckSecureState</a> (u32 RegVal, u32 Var, u32 ExpectedValue)</td></tr>
<tr class="memdesc:gacb572c209348e5ec41f2e15c92de9c36"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function checks if the secure state of boot matches the expected value or not.  <a href="group__xloader__server__apis.html#gacb572c209348e5ec41f2e15c92de9c36">More...</a><br/></td></tr>
<tr class="separator:gacb572c209348e5ec41f2e15c92de9c36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga677a618842a76cb8ee935fd0e5bd18fa"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga677a618842a76cb8ee935fd0e5bd18fa">XLoader_ImgHdrTblAuth</a> (XLoader_SecureParams *SecurePtr)</td></tr>
<tr class="memdesc:ga677a618842a76cb8ee935fd0e5bd18fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function authenticates the image header table.  <a href="group__xloader__server__apis.html#ga677a618842a76cb8ee935fd0e5bd18fa">More...</a><br/></td></tr>
<tr class="separator:ga677a618842a76cb8ee935fd0e5bd18fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga112597ce43d11195a3d8924eb435254f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga112597ce43d11195a3d8924eb435254f">XLoader_DataAuth</a> (XLoader_SecureParams *SecurePtr, u8 *Hash, u8 *Signature)</td></tr>
<tr class="memdesc:ga112597ce43d11195a3d8924eb435254f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function authenticates the data with SPK.  <a href="group__xloader__server__apis.html#ga112597ce43d11195a3d8924eb435254f">More...</a><br/></td></tr>
<tr class="separator:ga112597ce43d11195a3d8924eb435254f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
